package Slots;

import java.util.Random;

/**
 *
 * @author Ziad Aloulou
 */
public class Matrice {

    private int LENGTH_X = 3;
    private int LENGTH_Y = 9;
    public int NOMBRE_SYMBOLE = 6;
    public Case[][] matriceSymbole = new Case[LENGTH_X][LENGTH_Y];
    public int symbole;

    /**
     * Constructeur de la classe Matrice
     */
    public Matrice() {
        initJeu();//lorsque le constructeur est appelé, l'objet instantié
                  //instantie le nombre de cases(classe Symbole qui lui est 
                  //nécessaire)
    }

    /**
     * @return la longueur horizontale de la matrice
     */
    public int getLengthX() {
        return LENGTH_X;
    }

    /**
     * @return la longueur verticale de la matrice
     */
    public int getLengthY() {
        return LENGTH_Y;
    }

    /**
     * @return un nombre aléatoire entre 0 et NOMBRE_SYMBOLE
     */
    public int random() {
        Random rnd = new Random();
        int random = rnd.nextInt(NOMBRE_SYMBOLE);

        return random;
    }

    /**
     *  Initialise la matrice en ajoutant les symboles aux cases et en assigant
     *  leur position dans une fenêtre
     */
    public void initJeu() {

        for (int j = 0; j < LENGTH_Y; j++) {
            for (int i = 0; i < LENGTH_X; i++) {

                int random = random();

                switch (random) {
                    case 0:
                        symbole = 1;//raisin
                        matriceSymbole[i][j] = new Case(i, j, symbole);
                        break;
                    case 1:
                        symbole = 2;//cerise
                        matriceSymbole[i][j] = new Case(i, j, symbole);
                        break;
                    case 2:
                        symbole = 3;//fraise
                        matriceSymbole[i][j] = new Case(i, j, symbole);
                        break;
                    case 3:
                        symbole = 4;//orange
                        matriceSymbole[i][j] = new Case(i, j, symbole);
                        break;
                    case 4:
                        symbole = 5;//watermelon
                        matriceSymbole[i][j] = new Case(i, j, symbole);
                        break;
                    case 5:
                        symbole = 6;//prune
                        matriceSymbole[i][j] = new Case(i, j, symbole);
                        break;
                    default:
                        break;
                }
            }
        }

        //initialisation des positions des symboles de la matrice
        for (int j = 0; j < LENGTH_Y; j++) {
            for (int i = 0; i < LENGTH_X; i++) {
                matriceSymbole[i][j].setPositionX(140 + ((i % 9) * 101));
                matriceSymbole[i][j].setPositionY(92 + ((j % 9) * 52));
            }
        }

    }
}
